//РљР»Р°СЃСЃ "РљРѕСЂР°Р±Р»СЊ"
class Ship {
  int id;
  ArrayList<TPoint> pn;
  ArrayList<Boolean> sp;

  //РљРѕРЅСЃС‚СЂСѓРєС‚РѕСЂ РєР»Р°СЃСЃР°
  public Ship(int id_ship) {
    id = id_ship;
    sp= new ArrayList<Boolean>();
    pn=new ArrayList<TPoint>();
  }
  public TPoint getDeck(int i) {
    return pn.get(i);
  }
  public int getDeck(TPoint p){
    for (int i=0;i<pn.size();i++){      
       if (pn.get(i).getX() == p.getY() && pn.get(i).getY() == p.getX()){
        return i;
      }
    }
    return -1;
  }
  public void setState(int n, boolean b) {
    if (sp.size()<n+1) {
      sp.add(n, b);
    }
    else {
      sp.set(n, b);
    }
  }
  public int getSize() {
    return pn.size();
  }
  public boolean getState(int n) {
    return sp.get(n);
  }

  public void addDeck(TPoint p) {
    pn.add(p);
  }

  public int getId() {
    return id;
  }
  public boolean isDie(){
     boolean state = true;
    for (int i = 0 ; i < pn.size() ; i++) {
      if (getState(i)) {
        state = false;
      }
    }    
    return state;
  }
  //РћР±СЂР°Р±РѕС‚РєР° РїРѕРїР°РґР°РЅРёСЏ РІ РєРѕСЂР°Р±Р»СЊ
  public boolean stat() {
    boolean state = false;
    for (int i = 0 ; i < pn.size() ; i++) {
      if (getState(i)) {
        state = true;
      }
      else 
      {
        return false;
      }
    }    
    return state;
  }
}

